package com.kmxd.ams.core.redis;

import cn.hutool.core.text.CharSequenceUtil;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * redisson配置
 *
 * @author nickbi
 */
@Configuration
public class RedissonConfig {
  @Value("${spring.redis.host:}")
  private String host;

  @Value("${spring.redis.port:}")
  private String port;

  @Value("${spring.redis.password:}")
  private String password;

  @Value("${spring.redis.database:1}")
  private int database;

  @Bean
  public RedissonClient redissonClient() {
    Config config = new Config();
    config.useSingleServer().setAddress("redis://" + host + ":" + port).setDatabase(database);
    if (CharSequenceUtil.isNotBlank(password)) {
      config.useSingleServer().setPassword(password);
    }
    return Redisson.create(config);
  }
}
